﻿<!--#include file="lib/base.asp"--><!--#include file="lib/md5.asp"--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SDCMS在线安装程序</title>
<link href="css/base.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/base.js"></script>
</head>

<body>
    <div id="header">
        <div class="logo"></div>
        <div class="official"><img src="images/home.gif" /><a href="http://www.sdcms.cn" target="_blank">官方网站</a></div>
    </div>
	<%
	if checkinstall then
	%>
    <div id="step">
        <div class="installstep">
            <ul>
                <li class="step1"><span class="active"><span><span>1.安装协议</span></span></span></li>
                <li class="step2"><span><span><span>2.环境检测</span></span></span></li>
                <li class="step3"><span><span><span>3.程序配置</span></span></span></li>
                <li class="step4"><span><span><span>4.安装结果</span></span></span></li>
            </ul>
        </div>
    </div>
    <div id="body">
        <p class="red">程序已安装过，请勿重复安装。</p>
        <p>如果需要重新安装，请手工删除Install目录下的“install.lock”文件。</p>
    </div>
    <div id="footer">
        <input type="button" value="返回" class="no" />
    </div>
    <%
	response.end()
	end if
	dim act:act=trim(request.form("act"))
	select case act
		case "2":step2
		case "3":step3
		case "4":step4
		case else:step
	end select
	
	sub step()
	%> 
    <form method="post" action="index.asp">
    <div id="step">
        <div class="installstep">
            <ul>
                <li class="step1"><span class="active"><span><span>1.安装协议</span></span></span></li>
                <li class="step2"><span><span><span>2.环境检测</span></span></span></li>
                <li class="step3"><span><span><span>3.程序配置</span></span></span></li>
                <li class="step4"><span><span><span>4.安装结果</span></span></span></li>
            </ul>
        </div>
    </div>
    <input type="hidden" name="act" value="2" />
    <div id="body">
        <h1>安装协议</h1>
        <p>1、本授权协议适用于 sdcms 任何版本，sdcms开发团队拥有对本授权协议的最终解释权和修改权。</p>
        <p>2、所有用户均可根据自己的需要对 sdcms 进行修改。但无论何种情况，即：无论用途如何、是否经过修改或美化、修改程度如何，只要您使用 sdcms 的任何整体或部分程序算法，都必须保留页脚处的 sdcms 名称和 www.sdcms.cn 的链接地址，且修改后的程序版权依然归 sdcms开发团队所有。</p>
        <p>3、无论您从何处获得 sdcms，只要未经商业授权，不得将本软件用于商业用途(企业网站或以盈利为目的经营性网站)，否则我们将保留追究的权力。有关 sdcms 授权包含的服务范围，技术支持等，请参看 www.sdcms.cn。对于违反以上条款，我们将依法追究其责任。</p>
        <p>4、您可以免费使用本程序用于非商业用途，并允许传播给其他人。但您不能将本软件出售或变相出售、搭售（包括但不限于出售其他产品赠送本软件等形式），这将被视为将本软件用于商业用途，需要经过我们的商业授权。</p>
        <p class="red b">免责声明</p>
        <p>1、利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果，我们不承担任何责任。</p>
        <p>2、程序的使用(或无法再使用)中所有一般化、特殊化、偶然性或必然性的损坏（包括但不限于数据的丢失，自己或第三方所维护数据的不正确修改，和其他程序协作过程中程序的崩溃等），我们不承担任何责任。
        </p>
    </div>
    
    <div id="footer">
        <input type="submit" value="接受协议" /><input type="button" value="不同意" class="no" />
    </div>
    </form>
    <%
	end sub
	sub step2
	%>
    <form method="post" action="index.asp">
    <div id="step">
        <div class="installstep">
            <ul>
                <li class="step1"><span class="active"><span><span>1.安装协议</span></span></span></li>
                <li class="step2"><span class="active"><span><span>2.环境检测</span></span></span></li>
                <li class="step3"><span><span><span>3.程序配置</span></span></span></li>
                <li class="step4"><span><span><span>4.安装结果</span></span></span></li>
            </ul>
        </div>
    </div>
    <input type="hidden" name="act" value="3" />
    <div id="body">
        <h1>环境检测</h1>
        <h2>读写权限</h2>
        <ul>
            <li>权限检查：根目录 <em id="lever_0"></em></li>
            <li>权限检查：data 目录 <em id="lever_1"></em></li>
            <li>权限检查：upfile 目录 <em id="lever_2"></em></li>
            <li>权限检查：theme 目录 <em id="lever_3"></em></li>
        </ul>
        <h2>必选组件</h2>
        <ul>
            <li>Microsoft.Xmlhttp <em id="lever_4"></em></li>
            <li>Scripting.FileSystemObject <em id="lever_5"></em></li>
            <li>Adodb.Stream <em id="lever_6"></em></li>
            <li>Scripting.Dictionary <em id="lever_7"></em></li>
        </ul>
        <h2>可选组件</h2>
        <ul>
            <li>Persits.Jpeg <em id="lever_8"></em></li>
            <li>Jmail.Message <em id="lever_9"></em></li>
            <li>Cdo.Message <em id="lever_10"></em></li>
        </ul>
        <h2>图标说明</h2>
        <img src="images/ok.gif" /> 表示支持　<img src="images/err.gif" /> 表示不支持或没有权限
    </div>
    
    <div id="footer">
        <input type="button" value="上一步" class="pre" /><input type="submit" value="下一步" id="next" disabled="disabled" />
    </div>
    </form>
    <%
	end sub
	sub step3
	%>
    <form method="post" action="index.asp" onSubmit="return checkdb(this)">
    <div id="step">
        <div class="installstep">
            <ul>
                <li class="step1"><span class="active"><span><span>1.安装协议</span></span></span></li>
                <li class="step2"><span class="active"><span><span>2.环境检测</span></span></span></li>
                <li class="step3"><span class="active"><span><span>3.程序配置</span></span></span></li>
                <li class="step4"><span><span><span>4.安装结果</span></span></span></li>
            </ul>
        </div>
    </div>
    <input type="hidden" name="act" value="4" />
    <div id="body">
        <h1>数据库配置</h1>
        <ul>
            <li><span>数据库类型：</span>
            <input type="radio" value="0" name="t0" id="data01" checked="checked" /><label for="data01">Access</label>
            <input type="radio" value="1" name="t0" id="data02" /><label for="data02">Mssql</label></li>
            <li class="access"><span>数据库名称：</span><input type="text" name="t1" class="ip" value="#<%=getrnd(5)%>" />.mdb</li>
            <li class="mssql dis"><span>数据库IP：</span><input type="text" name="t2" class="ip" /></li>
            <li class="mssql dis"><span>数据库名：</span><input type="text" name="t3" class="ip" /></li>
            <li class="mssql dis"><span>数据库用户名：</span><input type="text" name="t4" class="ip" /></li>
            <li class="mssql dis"><span>数据库密码：</span><input type="text" name="t5" class="ip" /></li>
        </ul>
        <h1>网站配置</h1>
        <ul>
            <li><span>网站名称：</span><input type="text" size="30" name="t6" class="ip" value="时代网站信息管理系统" /></li>
            <li><span>运行模式：</span>
            <input type="radio" value="1" name="t7" id="t7_1" checked="checked" /><label for="t7_1">动态</label>
            <input type="radio" value="2" name="t7" id="t7_2" /><label for="t7_2">伪静态</label>
            <input type="radio" value="3" name="t7" id="t7_3" /><label for="t7_3">静态</label>
            　(<font color="red">注意：</font>伪静态需要服务器支持，否则无法访问)</li>
        </ul>
        <h1>管理员配置</h1>
        <ul>
            <li><span>管理账户：</span><input type="text" size="30" name="t8" class="ip" value="sdcms" maxlength="10" /></li>
            <li><span>管理密码：</span><input type="text" size="30" name="t9" class="ip" value="sdcms" maxlength="20" /></li>
        </ul>
    </div>
    
    <div id="footer">
        <input type="submit" value="下一步" />
    </div>
    </form>
    <%
	end sub
	sub step4
		'获取用户配置
		dim success:success=0
		dim t0,t1,t2,t3,t4,t5,t6,t7,t8,t9
		t0=trim(request.form("t0"))
		t1=trim(request.form("t1"))
		t2=trim(request.form("t2"))
		t3=trim(request.form("t3"))
		t4=trim(request.form("t4"))
		t5=trim(request.form("t5"))
		t6=trim(request.form("t6"))
		t7=trim(request.form("t7"))
		t8=trim(request.form("t8"))
		t9=trim(request.form("t9"))
		if t0=0 then
			if t1="" then
				alert "数据库名称不能为空"
			end if
		else
			if t2="" then
				alert "数据库IP不能为空"
			end if
			if t3="" then
				alert "数据库名不能为空"
			end if
			if t4="" then
				alert "数据库用户名不能为空"
			end if
			if t5="" then
				alert "数据库密码不能为空"
			end if
		end if
		if t6="" then
			alert "网站名称不能为空"
		end if
		if t8="" then
			alert "管理账户不能为空"
		end if
		if t9="" then
			alert "管理密码不能为空"
		end if
	%>
    <div id="step">
        <div class="installstep">
            <ul>
                <li class="step1"><span class="active"><span><span>1.安装协议</span></span></span></li>
                <li class="step2"><span class="active"><span><span>2.环境检测</span></span></span></li>
                <li class="step3"><span class="active"><span><span>3.程序配置</span></span></span></li>
                <li class="step4"><span class="active"><span><span>4.安装结果</span></span></span></li>
            </ul>
        </div>
    </div>
    
    <div id="body">
        <h1>安装结果</h1>
        <%
		echo "<p>正在安装</p>"
		flushs
		on error resume next
		dim dataok:dataok=0
		if t0=0 then
			'创建数据库
			dim db
			set db=Server.CreateObject("ADOX.Catalog")
				call db.create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/"&t1&".mdb"))
			set db=nothing
			if err then
				if err.number="-2147217897" then
					dataok=1
				else
					echo "<p class=""red"">无法创建Access数据库，具体原因为："&err.description&"</p>"
					flushs
					echo "<p>安装失败</p>"
					flushs
				end if
				err.clear
			else
				echo "<p>Access数据库创建成功</p>"
				flushs
				dataok=1
			end if
		else
			dataok=1
		end if
		'链接数据库
		dim dataconnent:dataconnent=0
		if dataok=1 then
			dim connstr,conn
			if t0=0 then
				connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/"&t1&".mdb")
			else
				connstr="Provider=Sqloledb;User ID="&t4&";Password="&t5&";Initial CataLog="&t3&";Data Source="&t2&";"
			end if
			set conn=server.createobject("adodb.connection")
			conn.open connstr
			if err then
				echo "<p class=""red"">无法链接数据库，具体原因为："&err.description&"</p>"
				flushs
				echo "<p>安装失败</p>"
				flushs
				err.clear
			else
				echo "<p>数据库链接成功</p>"
				flushs
				dataconnent=1
			end if
		end if
		
		'创建数据库表
		dim tableok:tableok=0
		if dataconnent=1 then
			dim sql
			if t0=0 then
				sql=loadfile("sql/access.sql")
			else
				sql=loadfile("sql/mssql.sql")
			end if
			dim s,arr
			arr=split(sql,vbcrlf)
			for s=0 to ubound(arr)
				conn.execute(arr(s))
				if err then
					if err.number<>"-2147217900" then
						echo err.description&"<br>"
					end if
					err.clear
				end if
			next
			echo "<p>数据表创建成功</p>"
			flushs
			conn.execute("create view view_category as select sd_category.*, sd_model.* from sd_category left join sd_model on sd_category.modeid = sd_model.modelid")
			echo "<p>视图创建成功</p>"
			if err then
				if err.number<>"-2147217900" then
					echo err.description&"<br>"
				end if
				err.clear
			end if
			flushs
			tableok=1
		end if
		
		dim congigok:congigok=0
		if tableok=1 then
			load_config_xml conn
			load_menu_xml conn
			load_model_xml conn
			load_group_xml conn
			load_admin conn,t8,t9
			load_setting conn,t6,t7
			if t7=2 then
				dim rule:rule=loadfile("../lib/urlrule/httpd.ini")
				newfile "../","httpd.ini",rule,"gb2312"
				rule=loadfile("../lib/urlrule/.htaccess")
				newfile "../",".htaccess",rule,""
			end if
			'保存配置文件
			dim datatype
			if t0=0 then
				datatype=true
			else
				datatype=false
			end if
			dim config:config=""
			config=config&"<"
			config=config&"%"&vbcrlf
			config=config&"''' SDCMS 系统配置"&vbcrlf
			config=config&"''' =================================================================="&vbcrlf
			config=config&"''' 版权所有 http://www.sdcms.cn"&vbcrlf
			config=config&"''' ------------------------------------------------------------------"&vbcrlf
			config=config&"''' 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用；"&vbcrlf
			config=config&"''' 未经授权不允许对程序代码以任何形式任何目的的再发布。"&vbcrlf
			config=config&"''' =================================================================="&vbcrlf
			config=config&"''' 编写: IT平民"&vbcrlf
			config=config&"''' 修改：IT平民 in 2013.04"&vbcrlf&vbcrlf
			
			config=config&"'以下配置请勿随便更改"&vbcrlf
			config=config&"'系统路径，根目录为：""/""，虚拟目录配置示范：""/test/"""&vbcrlf
			config=config&"dim webroot"&vbcrlf
			config=config&"    webroot="""&get_sys_dir&""""&vbcrlf
			config=config&chr(10)
			config=config&"dim weburl"&vbcrlf
			config=config&"    weburl=""http://""&request.servervariables(""http_host"")"&vbcrlf
			config=config&chr(10)
			config=config&"dim preurl"&vbcrlf
			config=config&"	preurl=request.servervariables(""http_referer"")"&vbcrlf
			config=config&chr(10)
			config=config&"'变量前缀，如一个空间下多次使用本程序的话，请每个程序配置不同的值"&vbcrlf
			config=config&"dim prefix"&vbcrlf
			config=config&"    prefix="""&getrnd(5)&""""&vbcrlf
			config=config&chr(10)
			config=config&"'数据库类型，true:Access，false:Mssql(即sql server)"&vbcrlf
			config=config&"dim datatype"&vbcrlf
			config=config&"    datatype="&lcase(datatype)&""&vbcrlf
			config=config&chr(10)
			config=config&"'以下为Access配置，依次是：数据库目录，数据库名"&vbcrlf
			config=config&"dim datapath"&vbcrlf
			config=config&"    datapath=""data"""&vbcrlf
			config=config&chr(10)
			config=config&"dim datadbname"&vbcrlf
			config=config&"    datadbname="""&t1&".mdb"""&vbcrlf
			config=config&chr(10)
			config=config&"'以下为Mssql配置，依次是：主机IP,用户名，密码，数据库名"&vbcrlf
			config=config&"dim datahost"&vbcrlf
			config=config&"    datahost="""&t2&""""&vbcrlf
			config=config&chr(10)
			config=config&"dim datauser"&vbcrlf
			config=config&"    datauser="""&t4&""""&vbcrlf
			config=config&chr(10)
			config=config&"dim datapass"&vbcrlf
			config=config&"    datapass="""&t5&""""&vbcrlf
			config=config&chr(10)
			config=config&"dim datasqlname"&vbcrlf
			config=config&"    datasqlname="""&t3&""""&vbcrlf
			config=config&"%"
			config=config&">"
			newfile "../","config.asp",config,"utf-8"
			echo "<p>配置文件保存成功"
			congigok=1
		end if
		
		if congigok=1 then
			success=1
			echo "<p class=""red"">网站安装成功。</p>"
			flushs
			newfile "","install.lock","","utf-8"
			application.contents.removeall()
		end if
		%>
        
    </div>
    
    <div id="footer">
        <%if success>0 then%>
        <input type="button" value="返回网站" class="home" /><input type="button" value="后台管理" class="admin" />
		<%else%>
        <input type="button" value="上一步" class="pre" />
		<%end if%>
    </div>
    <%end sub%>
    
</body>
</html>
